﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

//            在游戏中会出现很多种不同用途的 NPC，这些 NPC 有各自的存在的价值和作用，同时又具备一些共性的东西。
//在开发 NPC 系统的时候，往往是需要提取共性，独立出一个父类，然后子类继承实现不同作用的 NPC。
//分析：任务 NPC，商贩 NPC，铁匠 NPC，三种 NPC 的种类。
//共有属性：npc 的名字，npc 的类型；
//共有方法：都能和玩家交互(交谈)；

            //Smithytype sm = new Smithytype("大大怪", aa.铁匠, "修个锤子", "强化个屁", "打造锤子");
            //sm.tell();
            Console.WriteLine("请输入npc类型 0 任务,1 商户,2 铁匠");
            int c = int.Parse(Console.ReadLine());
            aa big = (aa)c;
            Npctype ss = test(big);
            ss.name = "哮天犬";
            ss.type = (aa)c;
            ss.tell();
        }
        static Npctype test(aa gg)
        {
            Npctype npc
                ;
            switch (gg)
            {
                case aa.任务:
                    npc = new Tasktype();
                    break;
                case aa.商户:
                    npc = new Shoptype();
                    break;
                case aa.铁匠:
                    npc = new Smithytype();
                    break;
                    default:
                       
                    npc = new Tasktype();
                    break;

            }
            return npc;
                            
            


        }
    }
}
